// pages/moment/expertList/expertDetails/expertDetails.js
const app = getApp()
var http = require('../../utils/http')
var utils = require('../../utils/util')
Page({

    /**
     * 页面的初始数据
     */
    data: {
        //分页信息
		queryInfo: {
			//页码
			pageNumber: 1,
			//页数
			pageSize: 5,
			//搜索字段
			queryString: ''
        },
        //表格数据
        tableList: [],
        article:[],
        quest:[],
		//首页展示图片
        imageURL: '',
        lookLikeFavourite:{},
        userInfo:{},
        currentIndex: 0, //默认是活动项
        showModalStatus: false,
    },

     // 切换swiper-item触发bindchange事件
     pagechange: function (e) {
         console.log(e);
        // 通过touch判断，改变tab的下标值
        if ("touch" === e.detail.source) {
            let currentPageIndex = this.data.currentIndex;
            currentPageIndex = (currentPageIndex + 1) % 4;
            // 拿到当前索引并动态改变
            this.setData({
                currentIndex: currentPageIndex,
            })
            console.log(this.data.currentIndex);
        }
    },

    //点击tab时触发
    titleClick: function (e) {
        this.setData({
            //拿到当前索引并动态改变
            currentIndex: e.currentTarget.dataset.idx
        })
    },
    // 跳转到动态详情页
    toMomentDetails(event) {
        let that = this;
        let moment = event.currentTarget.dataset.moment;
        let index = event.currentTarget.dataset.index;
        //给文章添加在数组列表中的下标
        Object.assign(moment,{'index':index})
        moment = JSON.stringify(moment)
        wx.navigateTo({
            url: '/pages/moment/toMomentDetails/toMomentDetails?item=' + encodeURIComponent(moment),
            events:{
                //子页面文章有改变，主页面也跟随改变
                itemChange(data){
                    let index = data.data.index;
                    let temp = that.data.tableList;
                    temp[index].like = data.data.like
                    temp[index].likeNum = data.data.likeNum
                    temp[index].lookNum = data.data.lookNum
                    that.setData({
                        'tableList':temp
                    })
                }
            },
        })
    },

      //点赞功能
    lookLikeFavourite(e){
        let index = e.currentTarget.dataset.index;
        let temp = this.data.tableList;
        //改变点赞量
        if (temp[index].like) {
            temp[index].likeNum--;
        }else{
            temp[index].likeNum++;
        }
        //改变点赞状态
        temp[index].like=!temp[index].like;

        this.setData({
            'lookLikeFavourite.likeId':e.currentTarget.dataset.id ,
            'lookLikeFavourite.type':e.currentTarget.dataset.type,
            tableList:temp
        })
        // 点赞数据后端持久化
        http.post("/looklikefavourite/addLookLikeFavouriteNum",this.data.lookLikeFavourite,res=>{
            console.log(res);
            this.data.lookLikeFavourite = {}
        })
    },
    addfriend(events) {
        let id = events.currentTarget.dataset.id
        wx.request({
            url: 'http://' + ipconfig + ':8080/mini/addFriend',
            data: {'userAId':wx.getStorageSync('userInfo').id,'userBId':id},
            method: 'POST',
            header: {
                'Authorization': wx.getStorageSync('token')
            },
            success: function (res) {
                console.log(res);
                wx.showToast({
                    title: '申请好友成功',
                })
            },
            fail: function (err) {
                console.log(err);
            }
        })
    },
    

    //跳转到编辑问答
    toaddQuest() {
        wx.navigateTo({
            url: `/pages/moment/addArticle/addArticle?type=quest`
        })
    },

     // 获取分页数据，massage是提示语
	findPage(message) {
        this.setData({
            'queryInfo.queryString':this.data.userInfo.id
        })
		//加载提示
		wx.showNavigationBarLoading();
		wx.showToast({
			title: message,
			icon: 'loading',
			duration: 1000
        })
        const that = this;
        const token = wx.getStorageSync('token')
        if(token != ''){
            http.post("/moments/findPageByCreatedId",this.data.queryInfo,res=>{
                if(res.statusCode == 401){
                    wx.clearStorageSync()
                    that.findPage("数据加载中。。。")
                }else{
                     //将原有的结果列表定义为临时数组
                    let temp = this.data.tableList;
                    //将新的结果接收
                    let result1 = res.data.rows;
                    let result = result1.map((item, index) => {
                        //时间格式化
                        item.createTime = utils.formatTime(item);
                        const content = item.content
                        if (item.title == null) {
                            item.content = utils.toHtml(item.content)
                        }else{
                            item.content = utils.toMarkdown(item.content)
                        }
                        //从文章中提取图片链接
                        return Object.assign(item, {
                            'imageURL': utils.get_url(content)
                        })
                    })
                    utils.pageHelper(result,temp,this)  
                    let art =[]
                    let que =[]
                    this.data.tableList.forEach(item=>{
                        if (item.title != null) {
                            art.push(item)
                        }else{
                            que.push(item)
                        }
                    })
                    this.setData({
                        article:art,
                        quest:que
                    })
                }
               
            })
        }else{
            http.postNoHeader("/moments/findPageByCreatedId",this.data.queryInfo,res=>{
                //将原有的结果列表定义为临时数组
                    let temp = this.data.tableList;
                    //将新的结果接收
                    let result1 = res.data.rows;
                    let result = result1.map((item, index) => {
                        //时间格式化
                        item.createTime = utils.formatTime(item);
                        const content = item.content
                        if (item.title == null) {
                            item.content = utils.toHtml(item.content)
                        }else{
                            item.content = utils.toMarkdown(item.content)
                        }
                        //从文章中提取图片链接
                        return Object.assign(item, {
                            'imageURL': utils.get_url(content)
                        })
                    })
                    utils.pageHelper(result,temp,this)  
                    let art =[]
                    let que =[]
                    this.data.tableList.forEach(item=>{
                        if (item.title != null) {
                            art.push(item)
                        }else{
                            que.push(item)
                        }
                    })
                    this.setData({
                        article:art,
                        quest:que
                    })
            })
        }
        
        

    },

    onPullDownRefresh: function () {
		this.data.queryInfo.pageNumber = 1;
		this.findPage('数据刷新中....');
	},
	
	onReachBottom: function () {
		this.findPage('数据加载中....')
		
    },

//   util: function (currentStatu) {
//         /* 动画部分 */
//         // 第1步：创建动画实例
//         var animation = wx.createAnimation({
//             duration: 200, //动画时长
//             timingFunction: "linear", //线性
//             delay: 0 //0则不延迟
//         });

//         // 第2步：这个动画实例赋给当前的动画实例
//         this.animation = animation;

//         // 第3步：执行第一组动画
//         animation.opacity(0).rotateX(-100).step();

//         // 第4步：导出动画对象赋给数据对象储存
//         this.setData({
//             animationData: animation.export()
//         })

//         // 第5步：设置定时器到指定时候后，执行第二组动画
//         setTimeout(function () {
//             // 执行第二组动画
//             animation.opacity(1).rotateX(0).step();
//             // 给数据对象储存的第一组动画，更替为执行完第二组动画的动画对象
//             this.setData({
//                 animationData: animation
//             })
//             //关闭
//             if (currentStatu == "close") {
//                 this.setData({
//                     showModalStatus: false
//                 });
//             }
//         }.bind(this), 200)

//         // 显示
//         if (currentStatu == "open") {
//             this.setData({
//                 showModalStatus: true
//             });
//         }
//     },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        
        let item = JSON.parse(decodeURIComponent(options.item))
        this.setData({
            userInfo:item
        })
        console.log(item);
        this.findPage("数据加载中....")
    },

})